// #include <iostream>
// #include <unistd.h>
// #include <signal.h>
// #include <sys/types.h>
// // mykill -signumber pid
// int main(int argc, char *argv[])
// {
//     if (argc != 3)
//     {
//         std::cerr << "Usage: " << argv[0] << " -signumber pid" << std::endl;
//         return 1;
//     }
//     int number = std::stoi(argv[1] + 1); // 去掉-
//     pid_t pid = std::stoi(argv[2]);
//     int n = kill(pid, number);
//     return n;
// }

#include <iostream>
#include <unistd.h>
#include <signal.h>

void handler(int signumber)
{
    // 整个代码就只有这⼀处打印
    std::cout << "获取了⼀个信号: " << signumber << std::endl;
}
// mykill -signumber pid
int main()
{
    signal(2, handler); // 先对2号信号进⾏捕捉
    // 每隔1S，⾃⼰给⾃⼰发送2号信号
    while (true)
    {
        sleep(1);
        raise(2);
    }
}